package com.heihei.imgpreview;

import com.alibaba.fastjson.JSON;
import com.heihei.config.ConfigProperties;
import com.heihei.util.FileUtilF;
import com.heihei.util.ImageCombinerUtil;
import com.heihei.util.StrUtilF;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ThumbImg {
    public static void main(String[] args) {
//        ConfigProperties.updateProperties();
//        start();
        buildJsonByThumbImg();
    }


    /**
     * 缩略图加工
     *
     * @author duanhengfei
     * 2022年08月18日 20:57:56
     */
    public static void start() {
        try{
            System.out.println("请输入源文件夹");
            File validSrcDir = FileUtilF.getValidSrcDir();
            System.out.println("请输入目标文件夹");
            File validDesDir = FileUtilF.getValidDesDir();
            int[] countArr = {0};
            FileUtilF.handleFiles(validSrcDir, file -> {
                if(FileUtilF.isImg(file)) {
                    String substring = file.getAbsolutePath().substring(validSrcDir.getAbsolutePath().length());
                    File targetFile = new File(validDesDir, substring);
                    File targetParent = targetFile.getParentFile();
                    if(!targetParent.exists()) {
                        targetParent.mkdirs();
                    }
                    try {
                        ImageCombinerUtil.thumbImg(file, targetFile.getAbsolutePath(), 240);
                        countArr[0]++;
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
            System.out.println("完成，共转换 " + countArr[0] + " 张图片");
        } catch (Exception e) {
            System.out.println("图片转换出现异常");
            e.printStackTrace();
        }


    }


    public static void buildJsonByThumbImg() {
        System.out.println("请输入源文件夹");
        File validSrcDir = FileUtilF.getValidSrcDir();
        System.out.println("请输入path");
        String path = FileUtilF.getSc().nextLine();
        List<Map<String, String>> list = new ArrayList<>();
        //重命名文件
        for (File file : validSrcDir.listFiles()) {
//            if(FileUtilF.isImg(file)) {
                String uuid = StrUtilF.genUUID();
                String fileName = uuid + "." + FileUtilF.getExtensionName(file);
                file.renameTo(new File(validSrcDir, fileName));
                Map<String, String> map = new HashMap<>();
                map.put("path", path);
                map.put("name", fileName);
                list.add(map);
//            }
        }
        String s = JSON.toJSONString(list);
        System.out.println(s);


    }
}
